package com.xiaoc.bulldozer.service;

import com.xiaoc.bulldozer.common.dto.AccountDto;
import com.xiaoc.bulldozer.common.dto.AccountQueryDto;
import com.xiaoc.bulldozer.common.dto.WeixinUserDto;
import com.xiaoc.bulldozer.common.model.Account;

import java.util.List;

/**
 * describe:
 *
 * @author lihuancheng
 * @date 2018/8/30
 */
public interface AccountFacade {

    public void saveAccountAndAccountBalance(AccountDto accountDto);

    public Account getAccountByUserId(Integer userId);

    /**
     * 获取渠道经理下面所有注册用户
     * 带分页
     *
     * @param queryDto
     * @return
     */
    public List<AccountDto> getAccountDtoListByManagerAccountIdAndPageDto(Integer userId, AccountQueryDto queryDto);

    public int getAccountDtoCountForManagerByUserId(Integer userId);

    /**
     * 恶意注册
     *
     * @param userId
     * @return
     */
    public boolean checkMaliciousRegist(Integer userId);

    /**
     * 通过手机号判断是否为渠道经理
     *
     * @param phoneNumber
     */
    public boolean isManagerByPhoneNumber(String phoneNumber);


    /**
     * 注册
     *
     * @param accountDto
     */
    public void registerAccount(AccountDto accountDto, WeixinUserDto weixinUserDto);

    /**
     * 判断是否是武汉移动手机号
     *
     * @param phone
     */
    public boolean isWuHanCMPhone(String phone);

}
